Administration System
Code Extensions
Code Extensions view
The Code Extensions view displays the system-seeded code extensions that you have licensed and any custom code extensions defined for your site. After you identify the code extension type (on page 1) that you want to use, you can write your own code extension. For non-LIBRARY code extension types, you must either implement the specified interface or extend the abstract base class for the extension type.
Customer acknowledges that any external development created by Kaleris, Customer, or any third party which utilizes Groovy or any other programming language ("External Development"), is considered a modification or enhancement to Kaleris's generally available Software and will not be supported under Kaleris's standard Maintenance and Support program. Customer may retain Kaleris Services to assist in the maintenance and support of such code at the then current time and materials rates. Additionally, Customer acknowledges that the use of any development documentation provided by Navis ("Documentation") is for educational purposes only and at Customer's sole risk. Kaleris disclaims all warranties and/or conditions, whether express or implied, regarding External Development and/or Documentation, including but not limited to those of completeness or fitness for any particular purpose. Kaleris reserves the right to change the code extension API's and/or Documentation at any time.
N4 code extensions are loaded when first invoked by the application. You can define a code extension at any scope level from the global scope level to the facility scope level, provided that the broadest user scope allows it. When N4 executes a code extension, the effective scope is the logon scope of the current user.
To be able to add, edit, or delete code extensions, you need the Code Extensions privilege. In addition, the user granted this privilege must be able to log in at the Operator scope level. This means that the user must have been created with the scope as 'Operator'. For more information on scoping, see Scoped objects in N4 (on page 1).
System-seeded code extensions are out-of-box code extensions that are provided by N4. The system-seeded code extensions are loaded and updated at application startup. You cannot modify or delete system-seeded code extensions. However, you can copy the content of a system-seeded code extension, paste it into a new code extension, and edit it according to your requirements.
A system-seeded code extension displays a dot in the System Seeded column in the Code Extensions view.
You can add, edit, and delete code extensions in this view. In addition, you can use the Actions menu to:
Export SNX File: Export the selected code extension as an XML file using the snx.xsd format
Launch Customization and Extension Type Registry Master view (on page 1)
Launch Customization and Extension Master view (on page 1)
Audit (on page 1): View snapshots of changes to a code extension: Select a code extension, then select ActionsAudit.
Compile Code Extensions: Dynamically compile selected code extensions to test for compilation errors.
N4 compiles the code extensions and displays the status and errors, if any, in the Summary of Code Extensions Compilation form.
Build Extensions Cache: Create the cache for code extensions. You need to build the cache when you first enable the setting FRMCARINA039 (ENABLE_EXTENSION_CACHING) (on page 1).
Clear Extensions Cache: If you have enabled extensions caching with the setting FRMCARINA039 (ENABLE_EXTENSION_CACHING), you can select this option to clear the extensions cache on the current node. N4 will create the cache again after the next database query for the code extension or extension trigger.
For information on the Java API, see the documentation provided under Help Java API Docs.
In some N4 versions, the link to this resource is not working. As a workaround, you can access the Java API docs directly from the N4 footprint installed on your server. From within the N4 application footprint, manually open the index.html file that is located at the following location (you should only see one of the following directory paths, not both):
Navis/sparcsn4/webapps/apex/argo/api/index.html
Navis/sparcsn4/webapps/apex/model/index.html
To add a new record:
Click .
To edit or delete a record:
In the list view, select the record(s) that you want to edit or delete.
Do one of the following:
Click to edit a selected record.
Click to delete the selected record(s).
Enable Extensions Caching
N4 has an option to create an in-memory cache for both code extensions and extension triggers based on the global setting FRMCARINA039 (ENABLE_EXTENSION_CACHING) (on page 1). This improves performance efficiency by calling extensions from the cache instead of querying the database for each request.
To enable caching for code extensions:
Update FRMCARINA039 (ENABLE_EXTENSION_CACHING) to true at the global level.
Open the Code Extensions view (Administration System
Code Extensions).
Select Actions Build Extensions Cache.
If you want to clear the cache on the current node,
Select Actions Clear Extensions Cache.
Choose Yes. This will clear the cache on only the current node.
Even though you enable extension caching, it is necessary to manually trigger build/rebuild extension cache using the action Build Extensions Cache in the Code Extensions view to create the cache. Enabling the cache extension setting alone will not build the cache.
Notes
N4 uses the Scope and the Extension Name to uniquely identify each code extension. This means that you can define two code extensions using the same name as long as they are defined at different scope levels. For example, you can define code extensions using the same name if they are defined for two separate facilities within your complex.
For the N4 Automation code extensions, if you have licensed the system-seeded code extension, any overrides that you create for that system-seeded code extension (at a lower scope level and with the same name as the system-seeded code extension) are treated as licensed code extensions.
You can add, delete, and update ECN4 extension jars dynamically. That is, you do not have to restart ECN4 to reload an extension jar. This functionality is supported in Windows and UNIX operating systems.
Short Label |
Long Label |
In Filter? |
Sorting? |
---|---|---|---|
App Version |
Application Version |
|
|
Class Name |
Extension Class Name |
X |
X |
Create Date |
Create Date |
X |
X |
Created By |
Created By |
X |
X |
Description |
Extension Description |
X |
X |
Enabled |
Is Enabled? |
X |
X |
Extends |
Extends |
X |
X |
Extension Name |
Code Extension Name |
X |
X |
Language |
Extension Language |
X |
X |
Level |
Level |
|
|
Revision |
External Revision |
|
|
Scope |
Scope |
|
|
Searchable Contents |
Extension Searchable Contents |
X |
X |
Signature |
Signature |
|
|
Signature Summary |
Signature Summary |
|
|
System Seeded |
Is System Seeded? |
X |
X |
Type |
Extension Type |
X |
X |
Update Date |
Update Date |
X |
X |
Updated By |
Updated By |
X |
X |
Verified |
Verified |
|
|
Version |
Extension Version |
X |
X |